

#ifndef WATCH_DATA_H__
#define WATCH_DATA_H__

#include <stdint.h>

typedef struct{
    uint32_t    timestamp;
    uint32_t    steps;
}steps_stash_t; 

typedef struct{
    uint32_t timestamp;
    uint8_t  value[30];
}detail_steps_t;

typedef struct{
    uint32_t    timestamp;
    uint16_t value[24]; // for every hour 
}steps_in_hour_t; 

typedef struct{
    uint32_t    timestamp;
    uint16_t    value[24]; 
}activity_in_hour_t; 

typedef struct{
    uint32_t timestamp;
    
    uint8_t value[32];
}detail_activity_t;
typedef struct{
    uint32_t timestamp;
    uint8_t  value[32];
}detail_position_t;


typedef struct{
    uint32_t timestamp;
    uint16_t minutes;
}static_desc_t;

typedef struct{
    uint32_t timestamp;
    uint8_t average;
    uint8_t min;
    uint8_t max;
}hr_stash_t;

typedef struct{
    uint32_t timestamp;
    uint8_t sbp;
    uint8_t dbp;
}bp_stash_t;

typedef struct{
    uint32_t timestamp;
    uint8_t average;
    uint8_t min;
    uint8_t max;
}spo2_stash_t;

typedef struct{
    uint32_t timestamp;
    int16_t average;
    int16_t min;
    int16_t max; 
}temp_stash_t;

typedef struct{
    uint32_t timestamp;
    uint8_t average;
    uint8_t min;
    uint8_t max;
    
    uint16_t year;
    uint8_t month;
    uint8_t day;
    uint8_t hour;
    uint8_t minute;
    uint8_t second;
}hr_record_t;

typedef struct{
    uint32_t timestamp;
    uint8_t sbp;
    uint8_t dbp;
    
    uint16_t year;
    uint8_t month;
    uint8_t day;
    uint8_t hour;
    uint8_t minute;
    uint8_t second;
}bp_record_t;

typedef struct{
    uint32_t timestamp;
    uint8_t average;
    uint8_t min;
    uint8_t max;
    
    uint16_t year;
    uint8_t month;
    uint8_t day;
    uint8_t hour;
    uint8_t minute;
    uint8_t second;
}spo2_record_t;

typedef struct{
    uint32_t timestamp;
    int16_t  average;
    int16_t  min;
    int16_t  max;
    
    uint16_t year;
    uint8_t month;
    uint8_t day;
    uint8_t hour;
    uint8_t minute;
    uint8_t second;
}temperature_record_t; 

typedef struct{
    uint32_t timestamp;
    struct{
        uint8_t minimum;
        uint8_t maximum;
    }value[24];
}heartrate_in_hour_t;

typedef struct{
    uint32_t timestamp;
    struct{
        uint8_t sbp;
        uint8_t dbp; 
    }value[24];
}bloodpressure_in_hour_t;

typedef struct{
    uint32_t timestamp;
    struct{
        uint8_t min;
        uint8_t max; 
    }value[24];
}bloodoxygen_in_hour_t;

typedef struct{
    uint32_t timestamp;
    struct{
        int16_t min; // *100 
        int16_t max; // *100 
    }value[24];
}temperature_in_hour_t;


#endif
